function GenresService() { }

GenresService.prototype = {
    
    dropGenresSQL: function() {
        return 'DROP TABLE IF EXISTS genres';
    },
     
     /**
      * @author wbc-4140
      * @update 2013 10 31
     * Genresテーブル作成SQL
     * @return string
     */
    createGenresSQL: function(){
        return 'CREATE TABLE IF NOT EXISTS genres ('+
            'code TEXT  NOT NULL, ' +
            'ecsite_code TEXT, ' +
            'name TEXT, ' +
            'target_code TEXT ' +
        ')';
    },

    /**
      * @author wbc-4181
      * @create 2013 12 05
      * @update 2013 12 05
     * Genresテーブルのデータを確認
     * @return string
     */
    checkEmpty: function(tr, callback) {
        tr.executeSql('SELECT COUNT(*) FROM genres', [], function(tx,results){
            var count = results.rows.item(0)["COUNT(*)"];
            if (count == 0) {
                GenresService.prototype.initGenres(tr, callback);
            }
        });
    },

    /**
      * @author wbc-4181
      * @create 2013 12 05
      * @update 2013 12 05
     * Genresテーブルの初期値実施
     * @return string
     */
    initGenres : function(tr, callback){
        var listGenres = ["ファッション", "本、コミック、雑誌", "音楽、DVD、ゲーム", "食品", "美容、健康", "家電、パソコン", "インテリア、日用雑貨", "ペット用品", "スポーツ、アウトドア", "キッズ、ベビー、おもちゃ", "ガーデニング、DIY", "車、バイク", "ダウンロードコンテンツ", "その他"];
        var listRakutenGenres = [
            ["211742", "TV・オーディオ・カメラ", "6"], ["100371", "レディースファッション", "1"], ["100316", "水・ソフトドリンク", "4"],
            ["100005", "花・ガーデン", "11"], ["510901", "日本酒・焼酎", "4"], ["200163", "不動産・住まい", "14"],
            ["101213", "ペット・ペットグーズ", "8"], ["558929", "腕時計", "1"], ["510915", "ビール・洋酒", "4"],
            ["216131", "バッグ・少物・ブランド雑貨", "1"], ["100227", "食品", "4"], ["101114", "車・バイク", "12"],
            ["551167", "スイーツ・お菓子", "4"], ["101240", "CD・DVD・楽品", "3"], ["551177", "メンズファッション", "1"],
            ["551169", "医薬品・コンタクト・介護", "5"], ["100939", "美容・コスメ・香水", "5"], ["101438", "学ぶ・サービス・保険", "14"],
            ["100533", "キッズ・ベビー・マタニティ", "10"], ["216129", "ジュエリー・アクセサリー", "1"], ["503190", "車用品・バイク用品", "12"],
            ["562637", "家電", "6"], ["100938", "ダイエット・健康", "5"], ["558944", "キッチン用品・食品・調理品具", "7"],
            ["101164", "おもちゃ・ホビー・ゲーム", "3"], ["101164", "おもちゃ・ホビー・ゲーム", "14"], ["101164", "おもちゃ・ホビー・ゲーム", "10"],
            ["101070", "スポーツ・アウトドア", "9"], ["100804", "インテリア・シング・収納", "7"], ["215783", "日用雑貨・文房具手芸", "7"],
            ["200162", "本・雑誌・コミック", "2"], ["101381", "旅行・出張・チケット", "14"], ["402853", "デジタルコンテンツ", "13"],
            ["100433", "インナー・下着・ナイトウェア", "1"], ["558885", "靴", "1"], ["100000", "百貨店・総合通販・ギフト", "14"], ["100026", "パソコン・周辺機器", "6"]
        ];
        
        var arrayLength = listGenres.length;
        for (var i = 0, j = i + 1; i < arrayLength; i ++, j ++) {            
            tr.executeSql('INSERT INTO genres VALUES (?, ?, ?, ?)', ["" + j, "-1", listGenres[i], "-1"]);
        }
        arrayLength = listRakutenGenres.length;
        for (var i = 0; i < arrayLength; i ++) {
            var curGen = listRakutenGenres[i];
            tr.executeSql("INSERT INTO genres VALUES (?, ?, ?, ?)", [curGen[0], '10', curGen[1], curGen[2]]);  
        }
    },
    
    getAllGenres : function(callback){
        var query = "SELECT code, name FROM genres WHERE ecsite_code = -1";
        var db = Connection.prototype.openDb();
        db.transaction(function(tx){
//            console.log("query: " + query);
            tx.executeSql(query, [], function(tx, results){
                callback(results);                
            }, BookmarksService.prototype.errorCallBack);
        },BookmarksService.prototype.errorCallBack,function(){});
    },
};